package string;

/**
 * java.lang.StringBuilderDemo
 * 它是修改字符串的一个工具类，内部维护一个可变的char数组，内存开销小，运行效率高
 * 其提供了基础的修改字符串操作：
 * 增删改插
 */
public class StringBuilderDemo {
    public static void main(String[] args) {
        //无参构造器默认表示一个空字符串
//        StringBuilder sb = new StringBuilder();

        String str = "好好学习java";
        StringBuilder sb = new StringBuilder(str);
/*

//        增加操作：append
//        好好学习java
//
//        好好学习java，为了找个好工作

        sb.append("，为了找个好工作");
        System.out.println(sb); //好好学习java，为了找个好工作

        //通过StringBuilder将修改后的内容以字符串形式返回
        String s = sb.toString();
        System.out.println(s); //好好学习java，为了找个好工作



//        修改操作:replace（替换）
//        好好学习java,为了找个好工作
//                    换成
//        好好学习java，就是为了改变世界！
        sb.replace(9,16,"就是为了改变世界！");
        System.out.println(sb); //好好学习java，就是为了改变世界！




//        删除操作：delete（删除）
//        好好学习java，就是为了改变世界！
//                   换成
//        ，就是为了改变世界！
        sb.delete(0,8);
        System.out.println(sb); //，就是为了改变世界！




//        插入操作：insert（插入）
//        ，就是为了改变世界！
//               换成
//        活着，就是为了改变世界！

//        insert(int index,String str)
//        将给定内容插入到index指定位置
        sb.insert(0,"活着");
        System.out.println(sb); //活着，就是为了改变世界！



*/
        sb.append("，为了找个好工作")
          .replace(9,16,"就是为了改变世界！")
          .delete(0,8)
          .insert(0,"活着");
        System.out.println(sb);
        //翻转字符串
        sb.reverse();
        System.out.println(sb);
    }
}












